1. Technical Field
The present invention relates to data structures and more particularly to mechanisms for extending languages to provide compatibility with resource description framework (RDF) data.
2. Description of the Related Art
Resource Description Framework (RDF) is a family of World Wide Web Consortium (W3C) specifications, originally designed as a metadata data model, which has come to be used as a general method of modeling information through a variety of syntax formats. The RDF metadata model is based upon the idea of making statements about Web resources in the form of subject-predicate-object expressions, called triples in RDF terminology. The subject denotes the resource, and the predicate denotes traits or aspects of the resource and expresses a relationship between the subject and the object. For example, one way to represent the notion “The fox is the color red” in RDF is as the triple: a subject denoting “the fox”, a predicate denoting “is the color”, and an object denoting “red”. RDF is an abstract model with several serialization formats (i.e., file formats), and so the particular way in which a resource or triple is encoded varies from format to format.
The mechanism for describing resources is an evolutionary stage of the World Wide Web in which automated software can store, exchange, and use machine-readable information distributed throughout the Web, in turn enabling users to deal with the information with greater efficiency and certainty, RDF's simple data model and ability to model disparate, abstract concepts has also led to its increasing use in knowledge management applications unrelated to Semantic Web activity.
RDF is an increasingly popular data and knowledge representation language. It is highly flexible, relatively low-level, and fundamentally distributed, which makes it suitable for representing a wide range of data on the web. However, while the RDF data model may be used as the basis for a complete programming model, this is possible only if the programming model has a set of features that provide simple, easy to use access to underlying RDF data.
The subject of an RDF statement is a resource, possibly as named by a Uniform Resource Identifier (URI). Some resources are unnamed and are called blank nodes or anonymous resources. They are not directly identifiable. The predicate is a resource as well, representing a relationship. The object is a resource. A Uniform Resource Locator (URL) is a URI that in addition to identifying a resource, provides a way of locating the resource by describing its primary access mechanism (e.g., its network ‘location’). It is necessary for producers and consumers of RDF statements to be in agreement on the semantics of resource identifiers. Such agreement is not inherent to RDF itself.
Despite the advantages of using RDF, many languages cannot make use of RDF or aspects of RDF. For example, ECMAScript and language features used in programming browsers encounter problems. For example, JavaScript, ECMAScript, cannot be used conveniently with RDF graph structures. ECMAScript, E4X and JavaScript, cannot be used for distributed RDF data structures. Object oriented languages cannot conveniently use distributed RDF data structures on the web. (Note ECMA International published the ECMA-357 standard, defining an extension to ECMAScript, known as E4X (ECMAScript for XML).